#ifndef  __ZeroEntity_H__
#define  __ZeroEntity_H__

#include "ZeroGene.h"
#include "ZeroProtein.h"

class ZeroEntity {
public:
	ZeroEntity();
	ZeroEntity(ZeroGene **gene, int geneCount);
	~ZeroEntity();

	void setScore(int score);
	int getScore();

	int getGeneCount();
	ZeroGene* getGene(int index);
	bool setGene(int index, ZeroGene *gene);

	ZeroEntity* mate(ZeroEntity *entity);
	ZeroEntity* copy();
	static ZeroEntity* RandomEntity(int geneCount);

	bool translate();
	ZeroProtein* getProtein(int index);
private:
	int mScore;
	int mGeneCount;
	bool mIsTranslated;
	ZeroProtein **mProtein;
	ZeroGene **mGene;
};

#endif /*__ZeroEntity_H__*/
